package model.pessoa;

import model.pessoa.Sexo;

public class PessoaFisica extends Pessoa {

	private String CPF;
	private String RG;
	private int qtdAula;
	private int qtdEvento;
	private Sexo sexo;
	private String dataNascimento;

	public String getCPF() {
		return CPF;
	}

	public void setCPF(String cPF) {
		CPF = cPF;
	}

	public String getRG() {
		return RG;
	}

	public void setRG(String rG) {
		RG = rG;
	}

	public int getQtdAula() {
		return qtdAula;
	}

	public void setQtdAula(int qtdAula) {
		this.qtdAula = qtdAula;
	}

	public int getQtdEvento() {
		return qtdEvento;
	}

	public void setQtdEvento(int qtdEvento) {
		this.qtdEvento = qtdEvento;
	}

	public Sexo getSexo() {
		return sexo;
	}

	public void setSexo(Sexo sexo) {
		this.sexo = sexo;
	}

	public String getDataNascimento() {
		return dataNascimento;
	}

	public void setDataNascimento(String dataNascimento) {
		this.dataNascimento = dataNascimento;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = super.hashCode();
		result = prime * result + ((CPF == null) ? 0 : CPF.hashCode());
		result = prime * result + ((RG == null) ? 0 : RG.hashCode());
		result = prime * result + qtdAula;
		result = prime * result + qtdEvento;
		result = prime * result + ((sexo == null) ? 0 : sexo.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (!super.equals(obj))
			return false;
		if (getClass() != obj.getClass())
			return false;
		PessoaFisica other = (PessoaFisica) obj;
		if (CPF == null) {
			if (other.CPF != null)
				return false;
		} else if (!CPF.equals(other.CPF))
			return false;
		if (RG == null) {
			if (other.RG != null)
				return false;
		} else if (!RG.equals(other.RG))
			return false;
		if (qtdAula != other.qtdAula)
			return false;
		if (qtdEvento != other.qtdEvento)
			return false;
		if (sexo != other.sexo)
			return false;
		return true;
	}

	
	public PessoaFisica(String nome, String endereco, String telefone,
			String cPF, String rG, int qtdAula, int qtdEvento, Sexo sexo,
			String dataNascimento) {
		super(nome, endereco, telefone);
		CPF = cPF;
		RG = rG;
		this.qtdAula = qtdAula;
		this.qtdEvento = qtdEvento;
		this.sexo = sexo;
		this.dataNascimento = dataNascimento;
	}

	public PessoaFisica(Long id, String nome, String endereco, String telefone,
			String cPF, String rG, int qtdAula, int qtdEvento, Sexo sexo,
			String dataNascimento) {
		super(id, nome, endereco, telefone);
		CPF = cPF;
		RG = rG;
		this.qtdAula = qtdAula;
		this.qtdEvento = qtdEvento;
		this.sexo = sexo;
		this.dataNascimento = dataNascimento;
	}

	public PessoaFisica() {
		super();
	}

}
